/**
 * 缓存数据到 localStorage 中。
 *
 * @param {string} key - 缓存数据的键。
 * @param {Function} fetchFunction - 获取数据的函数，返回一个 Promise。
 * @returns {Promise<any>} 返回一个 Promise，解析为缓存的数据。
 */
export const cacheData = (key, fetchFunction) => {
  const cachedData = localStorage.getItem(key);
  if (cachedData) {
    return Promise.resolve(JSON.parse(cachedData));
  } else {
    return fetchFunction().then((data) => {
      localStorage.setItem(key, JSON.stringify(data));
      return data;
    });
  }
};
